package ltd.hanamaki.study.oop.demo08;

public class Application {

    public static void main(String[] args) {

        /* 一个对象的 实例类型是确定的 */
        new Student();
        new Person();

        /* 但是 可以 指向的引用类型就不确定了。 */
        Student s1 = new Student(); // s1 能够调用的方法 都是自己的或者 重写父类的
        /* 父类的引用指向了 子类 */
        Person s2 = new Student(); // s2 中这是一个 父类型，可以指向子类，但是不能调用子类特有的方法

        /* 对象能够执行哪些方法，主要看 对象左边的 类型 ，和右边的关系不大 */
        s1.eat();
        s2.run();  //不能使用 子类特有的 方法

        /* 类型转换  向下转型 */
        ((Student)s2).eat();

    }
}
